<?php

include('../../include/functions.inc.php');
if (!isEmpty(getParam('operation'))) {
    switch (getParam('operation')) {
        case 'r':
            rechazar($db, $user);
            break;
        case 's':
            reponer($db);
            break;
    }
}

function rechazar($db, $user) {

    $arrInfoCargoChequeRechazado = $db->query_select("cllg_cargo_manual", "CHEQUE_RECHAZADO = 1");

    if (isset($arrInfoCargoChequeRechazado[0])) {
        $arrInfoCargoChequeRechazado = $arrInfoCargoChequeRechazado[0];
    } else {
        $db->query_insert('cllg_cargo_manual', array(
            'NOMBRE' => sqlValue('Cargo por cheque rechazado', 'text'),
            'MONTO' => sqlValue(0, 'double'),
            'MORA' => sqlValue(0, 'double'),
            'CREATED_BY' => sqlValue($user->name, 'text'),
            'CREATED' => sqlValue(date("Y-m-d"), 'date'),
            'FK_ENTITY' => sqlValue($user->entity, 'int'),
            'CHEQUE_RECHAZADO' => sqlValue(1, 'int')));
        $arrInfoCargoChequeRechazado = $db->query_select("cllg_cargo_manual", "CHEQUE_RECHAZADO = 1");
        $arrInfoCargoChequeRechazado = $arrInfoCargoChequeRechazado[0];
    }
    $strQuery = "SELECT  cllg_account.ID FK_ACCOUNT,
                        cllg_cheque.MONTO 
                FROM    cllg_cheque,
                        cllg_factura,
                        cllg_account
                WHERE   cllg_cheque.ID = " . sqlValue(getParam("ID"), "text") . "
                AND     cllg_cheque.FK_FACURA = cllg_factura.ID
                AND     cllg_factura.FK_STUDENT = cllg_account.FK_STUDENT";
    $arrInfoGeneral = $db->query_toArray($strQuery);
    foreach ($arrInfoGeneral as $arrInfo) {
        $db->query_insert("cllg_cargo", array(
            "FK_ACCOUNT" => sqlValue($arrInfo['FK_ACCOUNT'], 'int'),
            "DATE_LIMIT" => sqlValue(date("Y-m-d"), 'date'),
            "PENALTY" => sqlValue(0, 'float'),
            "DESCRIPTION" => sqlValue($arrInfoCargoChequeRechazado['NOMBRE'], 'text'),
            "CREATED" => sqlValue(date("Y-m-d"), 'date'),
            "CREATED_BY" => sqlValue($user->name, 'text'),
            "AMOUNT" => sqlValue($arrInfoCargoChequeRechazado['MONTO'], 'float'),
            "PREV_BALANCE" => sqlValue(0, 'float'),
            "CURR_BALANCE" => sqlValue(0, 'float'),
            "MONEDA" => 1));
    }

    $db->query_update('cllg_cheque', array(
        'STATUS' => sqlValue(0, 'int'),
        'FECHA_RECHAZO' => sqlValue(date("Y-m-d"), 'date'),
        'CONCEPTO_RECHAZO' => sqlValue(getParam("CONCEPTO"), 'text')), "ID=" . sqlValue(getParam("ID"), "text"));

    $res = array("R" => 1);
    $_SESSION['pack'] = serialize($res);
    header('Location: ../../include/transport.php');
}

function reponer($db) {
    $db->query_update('cllg_cheque', array(
        'STATUS' => sqlValue(2, 'int'),
        'FECHA_REPOSICION' => sqlValue(date("Y-m-d"), 'date'), //estado de reposicion
        'CONCEPTO_REPOSICION' => sqlValue(getParam("CONCEPTO"), "text")), "ID=" . sqlValue(getParam("ID"), "text"));

    $no = sqlValue(getParam("NCHEQUE"), "text");
    $formaReposicion = getParam("REPOSICION");

    if ($formaReposicion == "CHEQUE") {
        $db->query_insert("cllg_cheque", array("NUMERO" => $no,
            "FECHA" => sqlValue(date("y-m-d"), "date"),
            "MONTO" => sqlValue(getParam("NMONTO"), "double"),
            "BANCO" => sqlValue(getParam("NBANCO"), "text"),
            "FK_FACURA" => sqlValue(getParam("FK_FACURA"), "int"),
            "FECHA_COBRO" => sqlValue(getParam("FECHACOBRO"), "date")));
    } else {
        $db->query_update("cllg_factura", array($formaReposicion => sqlValue(getParam("NMONTO"), "double"),
            "CHEQUE" => sqlValue(0, "double")), "ID=" . sqlValue(getParam("ID"), "int"));
    }
    $res = array("R" => 1, "TIPO" => $formaReposicion);
    $_SESSION['pack'] = serialize($res);
    header('Location: ../../include/transport.php');
}

?>